package com.vnp.vchat.util;

import android.app.Dialog;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager.LayoutParams;
import android.widget.ImageView;

import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.FailReason;
import com.nostra13.universalimageloader.core.assist.ImageLoadingListener;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
import com.vnp.vchat.R;

public class Dl {
	
	public static void showdialog(String path, Context context) {
		final Dialog mDialog = new Dialog(context, R.style.full_screen_dialog) {
			protected void onCreate(android.os.Bundle savedInstanceState) {
				super.onCreate(savedInstanceState);
				setContentView(R.layout.view_poto);
				getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
			};
		};

		mDialog.show();

		DisplayImageOptions options = new DisplayImageOptions.Builder().displayer(new FadeInBitmapDisplayer(500)).imageScaleType(ImageScaleType.IN_SAMPLE_INT)
				.resetViewBeforeLoading(true).bitmapConfig(Bitmap.Config.RGB_565).cacheOnDisc(false).build();
		ImageView photo = (ImageView) mDialog.findViewById(R.id.img);
		photo.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				mDialog.dismiss();
			}
		});
		if (path.startsWith("http")) {
			ImageLoader.getInstance().displayImage(path, photo, options, new ImageLoadingListener() {

				@Override
				public void onLoadingStarted(String imageUri, View view) {
				}

				@Override
				public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
					String message = null;
					switch (failReason.getType()) {
					case IO_ERROR:
						// message = "Input/Output error";
						message = "Nguồn ảnh bị đang chờ xử lí. Vui lòng thử lại sau!";
						break;
					case DECODING_ERROR:
						message = "Nguồn ảnh có thể bị lỗi. Vui lòng thử lại sau!";
						// message = "Image can't be decoded";
						break;
					case NETWORK_DENIED:
						// message = "Downloads are denied";
						message = "Nguồn ảnh có thể bị lỗi. Vui lòng thử lại sau!";
						break;
					case OUT_OF_MEMORY:
						// DiscCacheUtil.removeFromCache(imageUri,
						// ImageLoader.getInstance().getDiscCache());
						ImageLoader.getInstance().getMemoryCache().clear();
						ImageLoader.getInstance().getDiscCache().clear();
						// message = "Out Of Memory error";
						message = "Nguồn ảnh có thể bị lỗi. Vui lòng thử lại sau!";
						break;
					case UNKNOWN:
						message = "Định dạng ảnh không được hỗ trợ.";
						message = "Unknown error";
						break;
					}
				}

				@Override
				public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
				}

				@Override
				public void onLoadingCancelled(String imageUri, View view) {
				}
			});
		} else {
			if (path.startsWith("file://")) {
				ImageLoader.getInstance().displayImage(path, photo, options);
			} else {
				Bitmap bm = BitmapFactory.decodeFile(path);
				photo.setImageBitmap(bm);
			}

		}
	}

}
